from langchain_core.prompts import PromptTemplate
from langchain_core.runnables import ConfigurableField

# 1. 创建提示词模板并配置支持动态配置的字段
prompt = PromptTemplate.from_template("请写一篇关于{subject}主题的冷笑话").configurable_fields(
    template=ConfigurableField(id="prompt_template")
)

# 2.传递配置更改prompt_template并调用生成内容
content = prompt.invoke(
    {"subject": "程序员"},
    config={"configuration": {"prompt_template": "请写一篇关于{subject}主题的藏头诗"}}
).to_string()

print(content)